package com.atguigu.daijia.driver.service;

import com.atguigu.daijia.model.form.driver.DriverFaceModelForm;
import com.atguigu.daijia.model.form.driver.UpdateDriverAuthInfoForm;
import com.atguigu.daijia.model.vo.driver.DriverAuthInfoVo;

public interface DriverService {

    /**
     * 小程序授权登录
     *
     * @param code 授权码
     */
    String login(String code);

    /**
     * 获取司机认证信息
     *
     * @param driverId 司机id
     */
    DriverAuthInfoVo getDriverAuthInfo(Long driverId);

    /**
     * 更新司机认证信息
     *
     * @param updateDriverAuthInfoForm 更新司机认证信息VO
     */
    Boolean updateDriverAuthInfo(UpdateDriverAuthInfoForm updateDriverAuthInfoForm);

    /**
     * 创建司机人脸模型
     *
     * @param driverFaceModelForm 司机人脸模型VO
     * @return 创建结果
     */
    Boolean creatDriverFaceModel(DriverFaceModelForm driverFaceModelForm);

    /**
     * 判断司机当日是否进行过人脸识别
     *
     * @param driverId 司机Id
     */
    Boolean isFaceRecognition(Long driverId);

    /**
     * 验证司机人脸
     *
     * @param driverFaceModelForm 司机人脸模型VO
     */
    Boolean verifyDriverFace(DriverFaceModelForm driverFaceModelForm);

    /**
     * 开始接单服务
     *
     * @param driverId 司机Id
     */
    Boolean startService(Long driverId);

    /**
     * 停止接单服务
     *
     * @param driverId 司机Id
     */
    Boolean stopService(Long driverId);
}
